1. Technical Field
Embodiments of the invention generally relate to online transaction processing (OLTP) messages. More particularly, embodiments relate to the automated generation of source code for transforming payload messages into and out of an OLTP language.
2. Discussion
Gaming systems are in widespread use and continue to grow in popularity. For example, the use of point-of-sale terminals has expanded from traditional retail environments to a wide variety of non-traditional environments. Indeed, in some markets consumers can purchase lottery tickets online from the comfort of their own home or from a filling station pump while purchasing gas.
A typical gaming system includes an application running at the location of the consumer, where the application is networked with a remote online transaction processing (OLTP) host. The OLTP host is responsible for managing the particular game being played and often operates under a proprietary, industry specific language. For example, one gaming system, which is commercially available from the GTech Rhode Island Corporation, implements an OLTP language that defines a specific and unique message structure that results in relatively dense byte arrays. The application, on the other hand, is typically a web-based program written in an objected-oriented program language, such as the Java language, that is incompatible with the OLTP language. Thus, in order for the application and the OLTP host to communicate with one another, messages between the application and the OLTP host must be transformed between the program language of the application and the OLTP language. Specialized source code is used to perform the message translation, where the source code is developed offline based on the protocols of the two languages. Once the message translation source code has been developed, it is used to process messages in real-time. There is therefore an offline process in which the code is developed, and an online process in which the code is used to transform messages in real-time.
Conventionally, the source code development process begins when human programmers having knowledge of both the program language and the OLTP language manually write source code for each type of message to be encountered. For example, a message from the application to the OLTP host requesting an online lottery wager might be defined as the message type “LottoWagerRequest”, whereas a message from the OLTP host responding to such a message might be defined as “WagerResponse”. Thus, the programmers would generate a LottoWagerRequest source code file and a WagerResponse source code file, where the LottoWagerRequest file is able to transform messages from the program language of the application to the OLTP language and the WagerResponse file is able to transform messages from the OLTP language to the program language. Once the source code for a given type of message has been written, a program compiler compiles the source code into an executable format.
The online process begins when a message parser receives a message in either the program language or the OLTP language and uses the compiled source code to transform the message between the program language and the OLTP language. For example, the above-described LottoWagerRequest message from the application to the host would be transformed from the program language to the OLTP language (i.e., encoded). On the other hand, the WagerResponse message from the OLTP host to the application would be transformed from the OLTP message to the program language (i.e., decoded).
Unfortunately, the manual labor associated with writing the source code for all of the possible message types typically takes months and therefore can have a significant effect on the development process. There is therefore a need to reduce the amount of time, labor and expense required to generate source code that is used to transform messages between a program language and an OLTP language.